package com.hjm.project.bankExpenditure.gbTradeInfo.domain;

import com.hjm.framework.aspectj.lang.annotation.Excel;
import com.hjm.framework.web.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 钱宝官品交易信息对象 gb_trade_info
 *
 * @author maker-platform
 * @date 2022-10-17
 */
@Data
public class GbTradeInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 交易流水号 */
    @Excel(name = "交易流水号")
    private String serial;

    /** 渠道参考号 */
    @Excel(name = "渠道参考号")
    private String rrno;

    /** 渠道商户编号 */
    @Excel(name = "渠道商户编号")
    private String merno;

    /** 商户名称 */
    @Excel(name = "商户名称")
    private String mername;

    @Excel(name = "品牌名称")
    private String manuName;

    /** sn */
    @Excel(name = "终端号")
    private String sn;

    /** 机具类型 */
    @Excel(name = "机具类型",readConverterExp = "0=传统,4=电签")
    private String posType;

    /** 渠道服务商编号 */
    @Excel(name = "渠道服务商编号")
    private String agentno;

    /** 本地服务商编号 */
    @Excel(name = "本地服务商编号")
    private String agentNum;

    /** 交易日期 */
    @Excel(name = "交易日期")
    private String localdate;

    /** 交易时间 */
    @Excel(name = "交易时间")
    private String localtime;

    /** 交易类型 H007 消费 交易类型 H302=银联二维码 H202=微信  H201=支付宝 */
    @Excel(name = "交易类型",readConverterExp = "H007=消费,H202=微信,H302=银联二维码,H201=支付宝")
    private String msgtype;

    /** 卡类型 1 借记卡 2贷记卡 */
    @Excel(name = "卡类型",readConverterExp = "1=借记卡,2=贷记卡")
    private String cardtype;

    /** 交易卡号 */
    @Excel(name = "交易卡号")
    private String pan;

    /** 交易金额 元 */
    @Excel(name = "交易金额(元)")
    private String amount;

    /** 扣费类型 0，默认 1服务费 2流量费 */
    @Excel(name = "扣费类型",readConverterExp = "0=默认,1=服务费,2=流量费")
    private String chargeType;

    /** 扣费金额元 */
    @Excel(name = "扣费金额(元)")
    private String chargeMoney;

    /** 手续费 */
    @Excel(name = "手续费")
    private BigDecimal charge;

    /** 附加费 */
    @Excel(name = "附加费")
    private String chargeFj;




    /** gb虚拟商户号 */
    private String terno;


    /** gb授权码 */
    private String airno;

    /** null */
    private String stan;

    /** 优惠标识 0不是 1是 */
    private String isysf;


    /** 响应码 */
    private String respcode;

    /** 响应信息 */
    private String respmsg;

    /** 版本信息 */
    private String version;


    private String manuNum;

    private Integer queryType;



    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("serial", getSerial())
                .append("merno", getMerno())
                .append("mername", getMername())
                .append("terno", getTerno())
                .append("sn", getSn())
                .append("agentno", getAgentno())
                .append("airno", getAirno())
                .append("stan", getStan())
                .append("rrno", getRrno())
                .append("localdate", getLocaldate())
                .append("localtime", getLocaltime())
                .append("msgtype", getMsgtype())
                .append("cardtype", getCardtype())
                .append("pan", getPan())
                .append("amount", getAmount())
                .append("isysf", getIsysf())
                .append("chargeType", getChargeType())
                .append("chargeMoney", getChargeMoney())
                .append("respcode", getRespcode())
                .append("respmsg", getRespmsg())
                .append("version", getVersion())
                .append("charge", getCharge())
                .append("chargeFj", getChargeFj())
                .toString();
    }
}
